Method and system for providing personalized service over different contact channels

ABSTRACT

A system comprising an analysis engine that interacts with a user profile server and a content management system. The user profile server is used to collect and manage data. The content management system manages a plurality of content types for a plurality of service points in real-time. A service point supports a content type.

CLAIM OF PRIORITY

This application is a continuation of U.S. application Ser. No.09/752,896 filed Dec. 26, 2000, which is incorporated herein byreference.

FIELD OF THE INVENTION

The invention relates generally to a method and apparatus for providingpersonalized information and services to individuals from a customercontact center.

BACKGROUND

Businesses are able to offer goods and services to customers locatedworld-wide through networks such as the Internet. As people becomeincreasingly at ease with purchasing goods and services over theInternet, businesses have been able to expand and flourish. Customersare generally interested in quickly perusing the goods and servicesoffered by a business operating on the Internet. Businesses that offerpersonalized service to customers have a competitive edge over otherbusinesses because customers will generally be serviced more quickly andwill be provided with higher quality of service.

Although there are a number of existing products that enable businessesto develop web sites that are able to provide personalized services totheir customers, the levels of capability for a personalized service aredifferent. Instead of creating a real integrated solution forpersonalized service, most existing personalization features aretypically built around or tied together some original singularlydesigned solutions. For example, Net Perceptions offers a series ofproducts that are built around its collaborative filtering technology.Net Perceptions applies this technology to a community behavior analysisbased recommendation engine, a knowledge management system, and acampaign management system thereby providing one type of personalizationservice that may be used in an E-commerce system and a customer callcenter. However, the users of Net Perceptions system must integrate itwith other content management systems to target Net Perceptions systemmust integrate it with other content management systems to targetpre-determined content based upon the recommendations that aregenerated. One disadvantage to Net Perceptions system is that it isunable to provide different service levels for content targeting.Additionally, the content flexibility and the variation of the contentreally depend on the external content management system. The knowledgemanagement system provided by Net Perception cannot perform the functionof a content management system.

A DYNAMO™ personalization service server by the Art Technology Group(ATG) offers another type of personalized service. The DYNAMO™personalization server is adapted to manage both static and dynamic userattributes. This provides service content personalization while thecustomer is being served by a business on the Internet. To generatedynamic user attributes, ATG's DYNAMO™ personalization server uses astatistics based analysis mechanism. The analysis mechanism usesinformation collected while a user navigates the Internet. Onedisadvantage to ATG's DYNAMO™ personalization server is that theservices are not differentiated for different service points (e.g., forweb, voice, Email, system internal usage, etc.) Although DYNAMO™personalization server enables service rules (e.g., rules that indicatewhich groups of service content should be provided to which groups ofcustomers), these service rules are unable to differentiate the contentfor one customer at different service points. One reason is that ATG'sDYNAMO™ personalization server depends upon an external contentmanagement system to provide service content.

Interact from Responsys.com is an e-mail-based outbound campaign servicesystem that may support multi-media content. However, Interact islimited to a single service channel, i.e., Email, which does not supportdifferent content types for different service channels.

E.Piphany is yet another company that offers a personalized serviceproduct. E.Piphany's product provides real-time personalization servicefor customer call centers. The product may be used to define and deliverreal-time marketing campaigns (e.g., advertising) through multiplecustomer touch points such as the phone, the web, an e-mail system, andfacsimile. E.Piphany's product uses real-time analysis mechanisms thatinclude a specialized real-time data mining techniques, collaborativefiltering, and likelihood analysis. However, the product'spersonalization process, e.g., for campaigns and for recommendations,relates solely to different customer direct contact points after acustomer contact point has been established. It does not contribute tothe contact point selection and other system processes. Additionally,the product is not integrated with customer intrinsic information-basedpersonalization service. Moreover, the product is not integrated with acontent management system to differentiate different content types todifferent service points. It is therefore desirable to have a systemthat addresses the shortcomings associated with conventional systems.

SUMMARY

A system is disclosed that comprises a user profile server, an analysisengine, a content management system, and their interaction to providepersonalized services or other like services. The user profile server isused to collect and manage user data. The content management system isused to manage a plurality of content types for a plurality of servicepoints. The analysis and content services are performed in real-time.The system differentiates content types for different service points.Additional features, embodiments, and benefits will be evident in viewof the figures and detailed description presented herein.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings are included to provide a furtherunderstanding of the invention, and are incorporated in and constitute apart of this specification. The drawings illustrate embodiments of theinvention and, together with the description, serve to explain theprinciples of the invention. In the drawings,

FIG. 1 is a system block diagram illustrating components of the systemin accordance with one embodiment of the invention;

FIG. 2 illustrates a personalization subsystem and multiple user datacollection components and service points in accordance with oneembodiment of the invention;

FIG. 3 illustrates organization of data in the user profile server inaccordance with one embodiment of the invention;

FIG. 4 illustrates the content data management and access control inaccordance with one embodiment of the invention;

FIG. 5 illustrates the organization and the description of content datain the content management system in accordance with one embodiment ofthe invention;

FIG. 6 illustrates a view of user management, content management, andcontent access control in accordance with one embodiment of theinvention;

FIG. 7 illustrates a flow diagram for customer service recommendationsfor different service points in accordance with one embodiment of theinvention.

FIG. 8 illustrates a flow diagram for content retrieval inside thecontent management system with access control in accordance with oneembodiment of the invention;

FIG. 9 illustrates a flow diagram in which customer dynamic attributesfor the user profile are updated in real-time in accordance with oneembodiment of the invention; and

FIG. 10 illustrates a flow diagram in which persistent customerattributes are updated for the user profile server based upon servicehistory analysis in accordance with one embodiment of the invention.

DETAILED DESCRIPTION

One embodiment of the invention relates to an analysis engine coupled toa user profile server and a content management system. Data istransferred from multiple user data collection points to the analysisengine. Personalized services are driven by analysis results dynamicallycoupled with user information and service content. This allowsbusinesses using this system to offer a customer an improved integratedsolution.

Another embodiment of the invention relates to a content managementsystem that is configured to manage a plurality of content types for thesame logic item. Examples of content types include the suitable contenttypes for a customer client, an agent client, an interactive voiceresponse system client, and an e-mail client. The content managementsystem provides a content item that is personalized to the receivingparty. The receiving party may receive a first content type at the firstservice point and receive a second content type at the second servicepoint, even though both content types are for the same logic item. Oneillustration of this embodiment relates to an agent trying to sell agood or service to a customer. While the customer may wish to view thegood or service in great detail, an agent typically only requires briefinformation regarding the good or service since the agent is presumablyfamiliar with the goods or services he is trying to sell. Therefore, thecontent type for agent assistance is different from the content type forcustomer self-service.

Specific embodiments are set forth to provide a thorough understandingof the present invention. However, it will be understood by one skilledin the art that the invention may be practiced without these details.Moreover, well known elements, devices, process steps and the like arenot set forth in detail in order to avoid obscuring the presentinvention. Additionally, although the figures present thepersonalization subsystem, multiple user data collection points, and themultiple service points as separate units, it will be appreciated thatthe personalization subsystem and multiple service points may be asingle unit having any configuration that achieves a similar or the sameresult.

FIGS. 1-2 illustrate several embodiments of the invention related to theoverall system. FIG. 1 illustrates a system block diagram in accordancewith one embodiment of the invention. FIG. 1 shows system 100 thatincludes multiple user data collection and service points 180 connectedto personalization subsystem 170. Data collection points are where datais transferred from, and may include clients, servers, or peers. Dataservice points are where data is transferred to and may include clients,servers, or peers. Personalization subsystem 170 provides personalinformation and a personalized service that is capable of supportingmultimedia content to multi-channels and multiple service points. Toaccomplish these tasks, personalization subsystem 170 performs analysisof data, generates recommendations, and transfers recommendations tovarious clients.

Data repository 175 is also coupled to personalization subsystem 170.Data repository 175 may include different types of data repositoriessuch as a database or any other storage device or memory.

It will be appreciated that system 100 may or may not include a network.A network includes local area networks (LANS), wide area networks(WANS), global networks such as the Internet, networking oftelecommunications devices (e.g., cellular networks, PCS networks,wireline telephony networks, and the like.

FIG. 2 illustrates a system block diagram in accordance with theembodiment of the invention in which a network may or may not be usedbetween components. System 200 comprises multiple user data collectionand service points 180 coupled to personalization subsystem 170.Multiple user data collection and service points 180 may interface withcustomer-client 110 and agent client 120.

It will be appreciated that techniques of the invention may beimplemented using a network in a variety of configurations such as thenetwork being used by customer-client 110 and agent client 120 tocommunicate to the servers in data collection and service points.Additionally, the network may be used among components in multiple userdata collection and service points 180. In another embodiment, thenetwork may be used to connect components in personalization subsystem170 from data collection and service points in 180. The network may beconnected to the components described herein in any other suitableconfiguration as well.

While some of these components are not new, it will be appreciated thatthe components in combination provide a novel way in which to achieve animproved integrated solution. Each of these components is describedbelow: Since the discussion of the components such as data collectionand service points 180 is relatively brief compared to personalizationsubsystem 170, these components are discussed first followed by adiscussion of personalization subsystem 170.

Clients

Customer-client 110 is an application that runs on a computer orworkstation. Customer-client 110 enables a customer to send and receivedata from components such as self-service web site, Email ResponseManagement System (“ERMS”), interactive voice response system (“IVRS”)included in multiple data collection and self service points 180.

Agent client 120 is an application that runs on a computer orworkstation. Agent client 120 sends and receives data from an agentdesktop service component 184. It will be appreciated that other clientsmay be added to system 200.

Data Collection and Service Points

Data collection and service points include agent desktop server 184,IVRS 130, ERMS 140, self-service web sites 150, routing manager 182,outbound campaign manager 186, and agent desktop server 184. Agentdesktop server 184, as a data collection point, may input customer datato both the user profile server 172 and to analysis engine 174. Agentdesktop server 184 may also contribute service content to the contentmanagement system 176. As a service point, agent desktop server 184 mayuse personalization subsystem 170 to retrieve content for agentassistance or for direct presentation to a customer.

IVRS 130 is a server or an application that runs on a computer orworkstation. IVRS 130 collects customer's requests. IVRS 130 mayautomatically play an audio response to a customer.

ERMS 140 is a server or an application that runs on a computer orworkstation. ERMS 140 enables a person to send and receive e-mail to orfrom a customer contact center (not shown).

Self-service web sites 150 are web sites provided by a customer contactcenter to its potential customers that may provide automatic servicewithout involvement of an agent.

FIG. 2 also illustrates other service points such as routing manager182, and outbound campaign manager 186. Routing manager 182 is connectedto user profile server 172, analysis engine 174, and content managementsystem 176. Routing manager 182 receives requests from customer-client110, for example, such as requests related to a certain product orservice. Based upon the request made by a customer, routing manager 182invokes analysis engine 174 and gets recommendations. Additionally,routing manager 182 may perform calculations and may search datarepository 175 for the customer profile and/or the agent profile.Routing manager 182 then matches an agent who is suitable for thecustomer's requirements and is skilled in the area in which the requestis being made and the agent's availability during real-time. The requestis then routed to that agent from routing manager 182.

Outbound campaign manager 186 is connected to user profile server 172,analysis engine 174, and content management system 176. Outboundcampaign manager 186 provides a multimedia and multi-channel outboundcampaign service. Outbound campaign manager 186 also provides servicebased upon recommendations. It also targets a campaign service contentto be sent to a user based upon a user profile information through theoperational database (not shown) or the data repository. For example,outbound campaign manager 186 may provide content to a customer thatcontains visual and audio information through e-mail, and/or audio intoa telephone channel. The multimedia campaign content is managed incontent management system 176 and is retrievable by outbound campaignmanager 186. Outbound campaign manager 186 may be automaticallytriggered by analysis engine 174 causing outbound campaign manager 186to retrieve campaign content from the content management system 176.Outbound campaign manager 186 then sends campaign content tocustomer-client 110 through an appropriate customer contact channel.Customer contact channels for a customer include an e-mail address(es),a phone number(s), a mailing address(es), or other suitable channels. Itwill be appreciated that outbound campaign manager 186 is configured toretrieve the campaign content item in a different media type anddifferent format from content management system 176 for differentcustomer contact channels. User profile server 172 provides campaigntarget information (i.e., to whom the different campaign content shouldbe sent).

Another component of data collection and service points 180 is agentdesktop server 184. Agent desktop server 184 is a server connected touser profile server 172, analysis engine 174, and content managementsystem 176. Agent desktop server 184 provides information and servicesto agent client 120, e.g., customer info as to the optimal product orservice to be provided to a customer, multimedia applications forcustomer contact, etc. It also provides recommendation to agent basedupon data generated from analysis engine 174 in association with contentmanagement system 176.

Personalization Subsystem

FIG. 2 further illustrates in detail personalization subsystem 170.Personalization subsystem 170 includes user profile server 172, analysisengine 174, and content management system 176. Each of these componentsare discussed below.

User profile server 172 collects, manages, and provides service of userprofile data, user credential data, and other relevant data to variouscomponents such as to the routing manager 182, agent desktop server 184,outbound campaign manager 186, as well as to analysis engine 174. Thesecomponents may then act upon this data.

User profile data includes both static and dynamic user attributes.Static attributes are attributes that have been stored in a datarepository 175 persistently. Static attributes relate to relevantprolonged user information such as a user's name, address, phone number,e-mail, occupation, or other suitable information. In contrast, adynamic attribute is an attribute that is inputted by an agent andgenerated by analysis engine 174 in real-time during service or otherlike method of generating dynamic attributes.

Profile data may be inputted from various sources such as throughcustomer-client 110 or transferred from other servers. Additionally, anagent client 120 may input profile data for a particular customer. Datais stored in a data repository. User profile server 172 may have a datarepository that is used solely by the user profile server 172 or,alternatively, user profile server 172 may use a common data repositoryshared with other systems.

User profile server 172 may also facilitate user authentication fromclients such as web-based clients by associating a web serverauthentication mechanism with user credential data maintained in onedata repository or a plurality of data repositories. Access is denied toclients in which a user fails user authentication.

In order to perform some of the tasks mentioned above, user profileserver 172 may organize data in a variety of ways. FIG. 3 illustratesone way of organizing data in the user profile server 172. For example,users are bundled into groups. Group bundle includes a group ID, a userID or a sub-group ID. Group bundle classifies user according to avariety of criteria.

A user group may include the group ID, the name of the group, theclassification of the group, and other relevant information. Userprofile, on the other hand, may include the user ID, the name of theuser, e-mail, and other data. User credential information includes theuser ID, password, and other credential information such as a creditcard or other means of payment. Other applicable information may beincluded in the user credential information such as the card user'smother's maiden name. This information may be used to ensure that athird party is not illegally using the credit card of the user. Userprofile information is associated with the user credential informationand the user preference information. The user credential and the userpreference may be stored separately from the user profile data tomaximize the storage efficiency, data update flexibility, as well asprovide convenience for information protection and retrieval.

Analysis Engine

Analysis engine 174 may be a server that has program instructions or itmay be program instructions (e.g., computer programs, software, etc.) ona shared server. Analysis engine 174 may use an application programinterface in order to accept input for an analysis and to generate aresult or a recommendation. The application program interface allowsdifferent analysis mechanisms to be plugged in for adapting to newtechnological advancements such as a new version of program instructions(e.g., computer programs, software, etc.).

Analysis engine 174 performs analysis based upon data provided toanalysis engine 174. The generated result combined with service contentdata may be sent to the data collection and service points 180 such asrouting manager 182, agent desktop server 184, and outbound campaignmanager 186.

To illustrate the manner in which analysis engine 174 operates, anexample of a customer seeking to purchase a sports car is presentedbelow. A customer requests agent assistance by inputting request datafrom the customer self-service web site 150. The data, contained in acustomer request information object, is transferred from customerself-service site 150 to routing manager 182 to find an appropriateagent. Routing manager 182 contacts personalization subsystem 170 forpersonal attributes and service recommendation retrieving. The personalattributes may be retrieved from the user profile server 172, which maybe combined with user request data as an input to analysis engine 174.The user request data may include personal attributes, desire to spendmoney, the date of delivery of the sports car, the types of sports carshe would consider acceptable. Analysis engine 174 performs computationswhich may include both statistical and analytical computations basedupon the data collected and newly inputted. Analysis engine 174 producesa result in the form of a recommendation metadata object that isassociated with content in content management system 176 for retrievinga result. Routing manager 182 may access the result by requesting theresult from content management system 176. Alternatively, analysisengine 174 may retrieve results from the content management system 176and send the result directly to routing manager 182. The recommendationmetadata object has information pertaining to the user, user group,content, content category, and content access control. For arecommendation to be made based upon a certain content category, theaccess control may be applied to the user group for different items inthe category for different group of users. The result contained in therecommendation metadata object may include the content ID, thecustomer's user ID, and the service point ID, which are needed forcontent retrieval from content management system 176.

The appropriate item attributes may then be retrieved from the contentmanagement system 176 by using, for instance, the item ID. Routingmanager 182 compares the recommended service data that was obtained fromthe content management system 176 to the data that pertains to agentsthat have relevant skills to the good or service that a customerdesires. The information regarding the skills and experience of variousagents is maintained in data repository 175 or a separate datarepository. Routing manager 182 then determines the agent that bestmatches the customer's requirements. An agent that best matches acustomer's request regarding a good or service may be based upon avariety of factors. For instance, an application system may becustomized to consider the agent's area of specialization, the amount oftime the agent has specialized in that particular area, the gender orage of the agent, or any other factors that the application customizer(e.g., system designer, user, etc.) may deem relevant. In this scenario,the best agent would be a person who specializes in selling recommendedsports cars. By matching the most qualified agent to a customer,techniques described herein are able to provide personalized services byincreasing the quality of service delivered and potentially reducing theamount of time to perform a transaction between an agent and a customer.

In another embodiment of the invention, the information presented on thegraphic user interface (“GUI”) to the agent generally containsinformation relating to the same topic as that which is presented on theGUI to the customer. However, the information on the agent's GUIcontains less details than that which is presented to a customer. Eachservice point such as routing manager 182, outbound campaign manager186, or agent desktop server 184, may retrieve the recommendationcontained in the recommendation metadata object from the contentmanagement system 176 by using a unique content ID and service point ID.The content ID is the same for all types of service points. However,depending upon the service point ID, different content may be retrieved.For example, agent desktop server 184 may retrieve a first content typefor an agent, and a second content type for customer browser. Forexample, the type of content that is retrieved and provided to an agentthrough agent desktop server 184 should be in a format that the agent isable to comprehend but the content does not need to go into as muchdetail such as extensive marketing information as if the content wasbeing sent to a new customer. This is due to the fact that agents aregenerally assumed to have knowledge about the services or products thatare being provided by the company.

After an agent is selected, the agent receives a request from thecustomer. The agent may then search for information that is responsiveto the customer's request. To provide information such as informationregarding a good to a customer, different customer contact channels maybe used. Different customer contact channels are configured fordifferent service points such as e-mail addresses, phone numbers,mailing addresses, or other suitable channels to retrieve differentcontent types. A first customer service point and a second customerservice point are configured to retrieve different types of content fromcontent management system 176.

The communication protocol is open among a customer, routing manager182, components in personalization subsystems, and agent desktop server184. In order to implement techniques described herein, interfaceobjects may be used. In one embodiment, interface objects for analysisengine 174 include recommendation engine, and recommendation service.RecommendationEngine is an object that contains attributes and methodsfor recommendation engine definition and services. It may be a plug-infrom existing products or technologies which is beyond the scope of thisinvention.

RecommendationService is an interface object that providesrecommendation services with appropriate content being retrieved fromcontent management system 176. The service methods may include:

-   -   GetResultsForAgent(ContentItemID)    -   GetResultsForCustomer(ContentItemID)    -   GetResultsForCustomerInVoice(ContentItemID)    -   GetResultsForCustomerInFax(ContentItemID)    -   GetResultsForService(ContentItemID).

Other suitable service methods may also be used.

Content Management System

While analysis engine 174 performs analysis on the data sent to analysisengine 174, content management system 176 manages various kinds ofcontent or content data for personalized customer services includingcontent for agents to assist customers, content for customer servicerecommendations, and content for customer self-service web sites 150,and content for outbound campaigns.

Content management system 176 may be operated under an independent webserver, a shared web server, or a server with other communicationprotocol. Content management system 176 is capable of searching andretrieving items such as content metadata and content data for othercomponents such as analysis engine 174. Content metadata and themultimedia content data may be stored in data repository 175 or multipledata repositories.

Content management system 176 may be configured to support web browserbased clients with search and category navigation interfaces that may beused by a customer and/or agent client 120 for navigation via theInternet. Content management system 176 also provides request/responseapplication program interfaces (“APIs”) for service requests from otherservice components, such as from analysis engine 174 and outboundcampaign manager 186.

Content management system 176 may contribute to agent script on theagent desktop. Based upon agent identification and profile, an agentscript may be automatically generated after an agent is logged in. Theagent may update his/her script during customer service. Additionally,each agent may contribute to data repository 175 by submitting newcontent to content management system 176.

Content may be requested by customer-client 110, IVRS 130, ERMS 140, orother data collection and service points 180. To illustrate, agentclient 120 may determine that a certain content may be useful to acustomer. Agent client 120 may then input the agent ID and/or thecustomer ID. Agent client 120 may input a content ID, explicitly orimplicitly by using a content retrieval GUI. Each content ID uniquelyidentifies a content item described by a metadata object.

For outbound campaign manager 186, content management system 176provides multimedia campaign content. It is possible to share campaigncontent with the recommendation content as “the content for customers”.However, each content item should have multiple presentation formats fordifferent customer contact channels and for different type ofapplications.

Service target control data, such as the one to specify which customeror customer group will get what content or services, may be stored in adata repository such as data repository 175. For ease of operation, themetadata for content management system 176 is also stored in datarepository 175 although the content data may be distributed in differentdata repositories.

In order to implement techniques of the one embodiment of the invention,FIG. 4 illustrates the organization of data for content managementsystem 176. It will be appreciated that there are a variety of otherways to organize data in content management system 176. Contentcollection includes a collection ID, title, date, and other information.Content collection is constructed based upon the physical location or anaccess control request for the content. The content collection definesthe minimal access controllable set of contents, such as a set ofcontent regarding a project or set of content located in a physicalstorage. A content item is placed in a content collection for accesscontrol. The smallest content collection contains only one content item.Content collections may be arranged in a variety of orders and aregenerally hierarchically ordered. A content item is typically onlyincluded in one of the lowest level of the collections. Additionally, asubcollection may be included in only one parent collection structure.Content category provides a logical group of similar contents by a givencriteria that may be specified by a system administrator, businessoperator, a business manager, sales person or other suitable person. Thecriteria may also be extracted from the content itself. One content itemmay be in multiple subcategories in which each subcategory may be inmultiple categories. The content item may be dynamically bundled intosubcategories and categories which facilitates a category-driven contentretrieval mechanism.

FIG. 5 illustrates one content data organization schema that may be usedin accordance with one embodiment of the invention. It will beappreciated that other suitable data schemes may be used. For example,content catalogue includes an identifier, title, description, date,source, and language. The content catalogue is defined and implementedby a group of database tables. The catalogue table includes theattributes for content items. The subject reference (or key words) andthe type reference (the different content types for a different customercontact point) attributes are stored in separate tables so that eachattribute may have multiple values and may be extended independently.Separate tables allow for a faster search by an individual value in eachfield.

FIG. 6 illustrates an overall data schema in data repository 175 inaccordance with one embodiment of the invention. It will be appreciatedthat other suitable data schemes may be used. Content management system176 includes user targeting and access control components. Content itemsare targeted by user groups. User access control is applied based uponcontent collections. User access control is applied based on usergroups. It will be appreciated that personalization subsystem 170 isextensible. Therefore, additional components may be added topersonalization subsystem 170 to improve the personalized serviceoffered to a customer.

FIG. 7 illustrates a flow diagram for customer service recommendationsfor different service points in accordance with one embodiment of theinvention. At block 500, the operation starts from a specific servicepoint such as a routing manager, an agent desktop server, an outboundcampaign manager, or other service point using its unique service pointidentifier. At block 510, a customer profile and correspondingreferences are accessed from the user profile server based upon acustomer's ID. At block 520, the customer profile and the correspondingpreferences are sent to analysis engine 174. Analysis engine 174generates at least one recommended item. At block 530, a recommendeditem or recommended items are accessed and listed by item IDs. At block540, the proper type of content for each recommended item is retrievedby service points such as routing manager 182, agent desktop server 184,and outbound campaign manager 186 from the content management systembased upon the item ID and the service point ID. At block 550, therecommended items are used by the service point. This means that theservice point performs an action in response to a recommended item. Forexample, a recommended item to routing manager 182 may cause routingmanager 182 to route a customer to a particular agent.

FIG. 8 illustrates a flow diagram for content retrieval inside thecontent management system 176 with access control in accordance with oneembodiment of the invention. At block 600, a content requester's ID andcontent item ID are inputted by an application which obtains these IDsfrom previous steps or from the service content. At block 610, it isdetermined that the content item(s) belong to which content collectiondue to content access control. At block 630, the group list should befound such that the group in the group list allows read access to thecontent collection. At block 640, the group list to which the contentrequester belongs must be determined. At block 650, if the union of thetwo lists is not empty such as when the user has “read” access basedupon the meaning of two lists, then the item content must be retrievedbased upon the service point ID. Otherwise, the content is notretrieved.

FIG. 9 illustrates a flow diagram in which customer dynamic attributesfor the user profile are updated in real-time in accordance with oneembodiment of the invention. At operation 700, the user profile serversends a user ID to the analysis engine. At block 710, the analysisengine responds with a list of customer attributes that may be eitherdynamic attributes or static attributes. At block 720, the user profileserver updates the current dynamic attributes for the user. For example,new attributes may be added and obsolete attributes may be deleted.

FIG. 10 illustrates a flow diagram in which persistent customerattributes are updated for the user profile server based upon servicehistory analysis in accordance with one embodiment of the invention.Service history analysis relates to the goods or services purchased inpast transactions. Service history may pertain to the particular servicehistory of a particular customer or a group of customers.

At block 800, the user profile server sends a user ID and the persistentattribute (e.g., preferred contact media, contact address, etc.) thatshould be updated to the analysis engine. At operation 810, the analysisengine responds with an updated attribute value which is sent back tothe user profile server. At block 820, the user profile server updates apersistent attribute in the data repository and in the run-timeenvironment of the service engine.

In the preceding detailed description, the invention is described withreference to specific embodiments thereof. It will, however, be evidentthat various modifications and changes may be made thereto withoutdeparting from the broader spirit and scope of the invention as setforth in the claims. The specification and drawings are, accordingly, tobe regarded in an illustrative rather than a restrictive sense.

1. A method including: receiving personal attributes for a first userand content to perform an analysis to generate a recommendation for thefirst user, the recommendation to include a plurality of content types,a first content type being personalized for the first user and beinggenerated for a contact channel utilized to communicate with the firstuser and a second content type being personalized for a second user;retrieving the first content type for the first user and for the contactchannel utilized to communicate with the first user; and retrieving thesecond content type for the second user.
 2. The method of claim 1,wherein the first user includes a customer and the second user includesan agent.
 3. The method of claim 2, further including receiving requestdata from the customer, the request data utilized in the analysis togenerate the recommendation.
 4. The method of claim 3, further includingselecting the agent based on the request data.
 5. The method of claim 1,wherein the contact channel includes any one of a group of contactchannels including an e-mail contact channel, a telephone contactchannel, a multi-media contact channel, an interactive voice responsesystem contact channel, a postal contact channel, and a web site contactchannel.
 6. The method of claim 1, wherein the contact channel isselected by the first user.
 7. The method of claim 6, wherein thecontact channel is selected by an outbound campaign manager.
 8. Themethod of claim 1, wherein the retrieving the first content type isperformed by at least one of an outbound campaign manager and a routingmanager.
 9. The method of claim 1, wherein the personal attributesinclude static profile attributes and dynamically generated attributes.10. A system including: an analysis engine to receive personalattributes for a first user and content to perform an analysis togenerate a recommendation for the first user, the recommendation toinclude a plurality of content types, a first content type personalizedfor the first user and generated for a contact channel that is utilizedto communicate with the first user and a second content typepersonalized for a second user; a first service point to retrieve thefirst content type for the first user and for the contact channelutilized to communicate with the first user; and a second service pointto retrieve the second content type for the second user.
 11. The systemof claim 10, wherein the first user includes a customer and the seconduser includes an agent.
 12. The system of claim 11, wherein the analysisengine receives request data from the customer to generate therecommendation.
 13. The system of claim 12, further including a routingmanager to select the agent based on the request data.
 14. The system ofclaim 10, wherein the contact channel includes any one of a group ofcontact channels including an e-mail contact channel, a telephonecontact channel, a multi-media contact channel, an interactive voiceresponse system contact channel, a postal contact channel, and a website contact channel.
 15. The system of claim 10, wherein the first userselects the contact channel.
 16. The system of claim 10, furtherincluding an outbound campaign manager that selects the contact channel.17. The system of claim 10, wherein the second service point includes anagent desktop server.
 18. The system of claim 10, wherein the personalattributes include static profile attributes and dynamically generatedattributes.
 19. A system including: a first means for receiving personalattributes for a first user and content to perform an analysis togenerate a recommendation for the first user, the recommendation toinclude a plurality of content types, a first content type personalizedfor the first user and generated for a contact channel that is utilizedto communicate with the first user and a second content typepersonalized for a second user; a second means for retrieving the firstcontent type for the first user and for the contact channel utilized tocommunicate with the first user; and a second means for retrieving thesecond content type for the second user.
 20. A machine readable storagemedia containing executable program instructions which when executedcause a digital processing system to: receive personal attributes for afirst user and content to perform an analysis to generate arecommendation for the first user, the recommendation to include aplurality of content types, a first content type being personalized forthe first user and being generated for a contact channel utilized tocommunicate with the first user and a second content type beingpersonalized for a second user; retrieve the first content type for thefirst user and for the contact channel utilized to communicate with thefirst user; and retrieve the second content type for the second user.